"""
函数作用域是指变量在程序中的可见范围。
Python中有局部变量和全局变量之分：
1. 局部变量：在函数内部定义的变量，只能在该函数内部访问
2. 全局变量：在函数外部定义的变量，可以在整个程序中访问
3. global关键字：用于在函数内部修改全局变量的值
"""

# 全局变量示例
global_var = "我是全局变量"

def show_global_variable():
    """演示访问全局变量"""
    # 在函数内部可以直接访问全局变量
    print(global_var)

def show_local_variable():
    """演示局部变量的作用域"""
    # 局部变量，只能在函数内部访问
    local_var = "我是局部变量"
    print(local_var)

def modify_global_without_global():
    """尝试在函数内部直接修改全局变量（这会创建一个新的局部变量）"""
    # 这样做不会修改全局变量，而是创建了一个同名的局部变量
    global_var = "我试图修改全局变量"
    print(f"函数内部: {global_var}")

def modify_global_with_global():
    """使用global关键字在函数内部修改全局变量"""
    global global_var  # 声明使用全局变量
    global_var = "我已经成功修改了全局变量"
    print(f"函数内部: {global_var}")

print("调用show_global_variable函数:")
show_global_variable()

print("\n调用show_local_variable函数:")
show_local_variable()

print("\n调用modify_global_without_global函数:")
modify_global_without_global()

print("\n调用modify_global_with_global函数:")
modify_global_with_global()

